package com.feemanage.domain.bo;

import com.common.validate.add;
import com.common.validate.edit;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;

import javax.validation.constraints.NotNull;
import java.math.BigDecimal;
import java.time.LocalDate;
import java.util.List;

@Data
public class ProjectPayoutBo {


    @ApiModelProperty("项目id")
    @NotNull(message = "项目ID不能为空", groups = {add.class, edit.class})
    private String projectId; //项目id

    @ApiModelProperty("主表id")
    @NotNull(message = "ID不能为空", groups = {edit.class})
    private String id; //主表id

    @ApiModelProperty("报销人名称")
    private String payoutPersonName;//报销人名称

    @ApiModelProperty("报销单号")
    private String feeCode;//报销单号-财务项目编号

    @ApiModelProperty("支出金额")
    @NotNull(message = "支出金额不能为空", groups = {add.class, edit.class})
    private BigDecimal payoutFee;//支出金额

    @ApiModelProperty("支出时间")
    private LocalDate payoutDate;//支出时间

    @ApiModelProperty("摘要")
    private String note; //摘要

    @ApiModelProperty("报销人编号")
    private String payoutPersonId; //报销人编号

    @ApiModelProperty("支出科目")
    private String payoutSubjectName; //支出科目

    @ApiModelProperty("审核状态")
    private String checkstatus; //审核状态

    @ApiModelProperty("页面按钮的状态")
    private String status; //页面按钮的状态

    @ApiModelProperty("流程实例id")
    private String processInstanceId;

    @ApiModelProperty("流程节点id")
    private String taskId;

    @ApiModelProperty("是否是审核人")
    private Boolean isAuditor;

    @ApiModelProperty("支出详情")
    private List<PayoutDetailsBo> payoutDetails;

}

